With the increase of mobility in computing devices, there has also been an increase in the need to access and execute applications from mobile devices. Many mobile devices have limited computing and storage capabilities. Mobile devices overcome these limitations by connecting remotely to a server to execute an application on its behalf.
One of the core problems with server-hosted applications accessed by a mobile device arises from network latency and bandwidth limitations. For server-hosted applications, there will usually be a lag between user input and graphical feedback, mostly attributable to network latency when connected over a network. On touch-based mobile devices without a mouse or keyboard alternatives usually do not exist or are cumbersome, and user expectations are generally higher. This problem is troublesome with touch-based mobile devices especially when coupled with the potential for adverse network conditions over wireless network connections, especially 3G services with unpredictable and anecdotally high latency (100 ms to 300 ms is not uncommon). High latency networks also include any network where conditions impose a perceptible reduction in user responsiveness when compared to using a locally installed application.